-- 获取商品库存信息
local key = KEYS[1]
local field = string.gsub(ARGV[1], "\"", "")
local count = redis.call("HGET", key, field);
-- 将总库存转换为数值
local total = tonumber(count)
-- 当前请求的库存量
local k = tonumber(ARGV[2])
redis.log(redis.LOG_WARNING, string.format("stock count: %s, k: %s", total, k))

-- 如果当前请求的库存量小于等于总库存量，就可以更新库存
if k <= total then
    -- 更新已秒杀的库存量
    return redis.call("HINCRBY", key, field, -k)
end
return 0